//	--------------------------------------------------------------------
//	Copyright(C) 2006,2007 Zhao Yukun. All rights reserved.
//	This file is a part of the Xeres system.
//	Xeres 2007
//	Contact : xeres.engine@gmail.com
//	$(reservedInfo)
//	$(reservedDeclaration)
//	--------------------------------------------------------------------
///	@file	<DwmComposite.h>
///	@path	~/src/editor/wm/
///	@date	2008/10/27
///	@desc	.

#pragma once

#include "editor/editor.h"

//////////////////////////////////////////////////////////////////////////
// From recent win sdk
#ifndef WM_DWMCOMPOSITIONCHANGED
#define WM_DWMCOMPOSITIONCHANGED        0x031E
#endif
#ifndef WM_DWMNCRENDERINGCHANGED
#define WM_DWMNCRENDERINGCHANGED        0x031F
#endif
#ifndef WM_DWMCOLORIZATIONCOLORCHANGED
#define WM_DWMCOLORIZATIONCOLORCHANGED  0x0320
#endif
#ifndef WM_DWMWINDOWMAXIMIZEDCHANGE
#define WM_DWMWINDOWMAXIMIZEDCHANGE     0x0321
#endif
//////////////////////////////////////////////////////////////////////////

namespace xeres {

	/// \brief	Determine if composition is enable.
	bool __dwm_is_composition_enable( void );

	/// \brief	Enable window composition.
	bool __dwm_enable_composition( HWND hWnd );

	/// \brief	Extend composition.
	bool __dwm_extend_composition( HWND hWnd );

	/// \brief	Begin composition paint.
	HDC __dwm_begin_paint( HDC dc , RECT& rc , void ** context );

	/// \brief	End composition paint.
	void __dwm_end_paint( void ** context );

} // namespace xeres
